package com.design.pattern.designPrinciples.dependenceInversion;

/**
 * create by yufeng on 2021/7/3 10:32
 */
public class XiaoMing {
// ===============v1 版本=======
//    public void studyJavaCourse(){
//        System.out.println("小明正在学java课程");
//    }
//    public void studyCCourse(){
//        System.out.println("小明正在学C课程");
//    }


// ===============v2 版本=======
//    public void study(ICourse course) {
//        course.study();
//    }

// ===============v3 版本=======

//    private ICourse course;
//
//    public XiaoMing(ICourse course) {
//        this.course = course;
//    }
//
//    public void study(){
//        course.study();
//    }

    // ===============v4 版本=======
    private ICourse course;

    public void setCourse(ICourse course) {
        this.course = course;
    }
    public void study(){
        course.study();
    }
}
